home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 4
/
Aminet 4 - November 1994.iso
/
aminet
/
comm
/
uucp
/
wcnews_1_0_30.lha
/
doc
/
install.amiga.man
< prev
next >
Wrap
Text File
|
1994-01-04
|
17KB
|
397 lines
Install.Amiga() wCNews Install.Amiga()
1mDifferences22m 1mregarding22m 1mthe22m
1mInstallation22m 1mof22m 1m``C22m 1mNews''22m 1mNetwork22m 1mNews22m 1mSoftware22m
1mon22m 1mCommodore®22m 1mAmiga®22m 1mComputers22m
Kai Siering
Villa Straylight
Hamburg, West Germany
This document describes the basic installa
tion of the CNews package (4mwCNews24m) on top of
Amiga UUCP. For general information about
4mCNews24m, please refer to 4minstall.man24m
1mIntroduction22m
This is CNews, based on the port done by 1mFrank22m 1m'Crash'22m 1mEd22m
1mwards22m in 1990, enhanced & bugfixed in 1992 by 1mKai22m 1m'wusel'22m 1mSier22m
1ming22m. Together with some additional programs, written by 1mWalter22m
1m'wasp'22m 1mMildenberger22m, 1mMatthew22m 1mDillon22m, and 1mIngo22m 1mFeulner22m, I release
this as 4mwCNews24m.
Despite the UN*X version, this package is not based on lots
of auxillary shell scripts. Although their functionality has been
enhanced in OS 2.0, they still lack the ability to get input from
stdin and certain other features that would be helpful. For the
original port, there are some 4mAREXX24m scripts which seem to help a
lot running CNews on the Amiga; and then there are several UN*X
like shells, which eventually could be used in order to adopt the
4m/bin/sh24m scripts of CNews.
But actually I can't see a mayor advantage using scripts
(except that they are easy to change to local needs) I prefer
compiled programs for efficiency.
I never used the AREXX scripts myself (as on a plain 68000,
all I got from using AREXX was time for another cup of coffee),
but the scripts that came with the original port (especially the
ones for batching and unbatching) were errorprone and didn't
Villa Straylight Mon, 11 Jan 1993 06:04:20 +0100 1
Install.Amiga() wCNews Install.Amiga()
work realiably (sorry, Frank). And as I was using Ingo Feulners
4mAmiga24m 4mUUCP24m 4mPlus24m before, I knew there was another way ...
Thus, I grabbed the sources and started to modify them to
fit my needs. After some time, I got Walter Mildenbergers 4msend24m
4mbatches24m package which worked fine for me (after some changes
=:>). Next thing to change was the unbatching mechanism. I took
the sources of Matthew Dillons 4muuxqt24m as a basis and created 4mnews24m
4mrun24m (aka 4munbatch24m).
Then came some bugfixes and enhancements to 4mrelaynews24m and
4mexpire24m. The resulting system runs here 24h a day; as to my
knowledge, there are no more bugs in it, although there is still
a lot to do ...
1mCOPYRIGHT22m
The contents of file 4mCOPYRIGHT24m follows:
Copyright (c) University of Toronto 1985, 1986, 1987, 1988,
1989, 1990. All rights reserved. Written mostly by Geoffrey
Collyer and Henry Spencer. This software is not subject to any
license of the American Telephone and Telegraph Company, the Re
gents of the University of California, or the Free Software Foun
dation.
Permission is granted to anyone to use this software for any pur
pose on any computer system, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The authors are not responsible for the consequences of use of
this software, no matter how awful, even if they arise from
flaws in it.
2. The origin of this software must not be misrepresented, either
by explicit claim or by omission. Since few users ever read
sources, credits must appear in the documentation.
3. Altered versions must be plainly marked as such, and must not
be misrepresented as being the original software. Since few
users ever read sources, credits must appear in the documenta
tion.
4. This notice may not be removed or altered.
1mDescription22m 1mof22m 1mChanges22m
As I havn't changed the original documentation, there are
several things to keep in mind when reading that docs; sorry for
any inconvenience.
Villa Straylight Mon, 11 Jan 1993 06:04:20 +0100 2
Install.Amiga() wCNews Install.Amiga()
4mRelaynews24m gets it's 1mnewsname()22m from the file
1muulib:news/whoami22m; if this does not exist (or contains nothing
that looks like a hostname), a 1mGetEnv("hostname");22m is performed.
[1mTechnical22m 1mNote:22m all environmentrelated stuff uses the AmigaOS
routines, that is local environment variables take precedence
over the global ones.] If this fails too, the variables 1mNODE22m
1mNAME22m, 1mDOMAINNAME22m, and 1mDOMAINPATH22m are consulted; the latter con
trols wheter or not the FQDN is used (set it to 1my22m or 1myes22m for
FQDN). These variables are looked up in the environment first,
then in the 4mAmiga24m 4mUUCP24m 4mgeneral24m 4mconfiguration24m 4mfile24m
(1muulib:Config22m), environment variable 1mCNEWS22m (defaults to
1m$NEWSCTL/CNews.Config22m or, if $NEWSCTL is unset
1muulib:news/CNews.Config22m), finally a more or less silly default is
taken or an error is returned, depending of the importance of
the variable in question.
You may argue that this scheme is more than chaotic I agree.
But it is the result of trying to make wCNews fit better in ex
isting Amiga UUCP Plus environments without breaking old CNews
configurations ... 1mNOTE:22m 1mAlthought22m 1mthis22m 1mis22m 1man22m 1mintermediate22m 1mre22m
1mlease,22m 1myou22m 1mshould22m 1muse22m 1m*only*22m 1meither22m 1muulib:Config22m 1mor22m 1menvironment22m
1mvariables22m 1mfor22m 1mconfiguration;22m 1monly22m 1mthe22m 1mcore22m 1mCNews22m 1mprograms22m 1mmake22m
1muse22m 1mof22m 1mthe22m 1mCNews.Configfile22m 1mand22m 1mI22m 1mintend22m 1mto22m 1mdrop22m 1msupport22m 1mfor22m
1mthat22m 1mRSN!22m 1mYou22m 1mhave22m 1mbeen22m 1mwarned!22m
Relaynews can be set to be more nitpicking about the syntax of
messages (as specified by 4mRFC24m 4m103624m and 4mRFC24m 4m82224m). You may set the
variable 1mRFCStrictness22m to a numeric value between 1m022m and 1m222m. At
level 0, it act as before, accepting a wide rage of according
to RFC 1036 illegal messageids. At level 1, relaynews insists
at least on a RFC 822 conformant messageid (1036 is more rigid
in some areas) and refuses articles with illegal characters in
their id (whitespace, control chars) that's the way most UN*X
systems are configured nowadays. Finally, set at level 2, re
laynews insist on fulfilling RFC 1036's complete messageid spec
ification (the domain part has to be fully qualified).
Furthermore, you can set 1mMaxArticleAge22m to any positive numeric
value (that makes sense); articles older MaxArticleAge days will
be rejected by relaynews, as will articles with unparsable dates
(althought my 1mgetdate()22m is more cooperative than that of UN*X
CNews ...). If you don't set this variable, relaynews will
silently ignore the `Date:' headers; but nowadays, systems run
ning CNews or INN (4mInterNetNews24m) will reject too old or not con
forming articles anyway (without further notice!), so it makes
sense to do this locally too (saves transmission time and you
won't loose your article into the bit bucket).
Last but not least, the 1mlocking22m 1mmechanism22m now works (done with
Matt Dillons 1mlockfile.c22m from the 1.15 distribution) relaynews
locks itself with 1mLockFile("LockedCNews");22m. As a side effect,
you may now deadlock your system when trying some weird things
via the sysfile =:> Be careful.
Villa Straylight Mon, 11 Jan 1993 06:04:20 +0100 3
Install.Amiga() wCNews Install.Amiga()
Regarding the sysfile (1muulib:news/sys22m), you can now specify 4mex24m
4mactly24m 4mone24m 4m`%s'24m in the sy_cmd field. It will be replaced with a
filename under which the article is stored. [1mNote:22m In case of
crosspostings, this file may or may not point to a file in the
subscription list you'd better not delete articles in groups
you don't want this way ...] Thus, you may now have a shell
script run in the background doing something with the article:
`fancy.things:alt.test/all::run my_cool_script %s'.
Finally, the `f' flags now works as expected (it now DOES count
1mXRef:22m headers) ...
4mExpire24m has been enhanced to keep articles which it could not
delete (because of errors like 1mFILE22m 1mPROTECTED22m or 1mFILE22m 1mIN22m 1mUSE22m for
example; 1mFILE22m 1mNOT22m 1mFOUND22m is just fine, that's what we wanted as
the result anyway =:>) in the history. That way, the article
will be tried to be deleted again and again each time expire runs
hopefully, this will reduce the number of files 4mexpire24m `for
gets' in the news tree ...
You may redirect 4mexpire24m's stderr stream with 1me22m 1mfilename22m; the new
output get's appended to 1mfilename22m. 1mWARNING:22m if 4mexpire24m isn't able
to open 1mfilename22m, it quits with an error message.
Furthermore, 4mexpire24m locks itself (with 1mexpire.runs22m), thus you may
run expire safely on a regular basis (for example via 1mcrontab22m)
without error prone pseudo locking (1mif22m 1mexists22m 1m...22m 1mskip22m 1mlab22m 1mback22m).
But you may prefer to use the supplied script 4mdoexpire24m
4mFixactive24m keeps the act_min field in the active file
(1muulib:news/active22m) up to date. Fixactive locks relaynews to
avoid problems arising from inconsistencies in the active file.
Fixactive should be called after each invocation of expire com
pare the supplied script 4mdoexpire24m.
4mRnews24m copies it's stdin (the files may also be given as ar
guments) to 1muunews:in.coming22m. The following headers are removed
before copying: 1m#!22m 1mcunbatch22m, 1m#!22m 1mc7unbatch22m, and 1m#!22m 1mfunbatch22m.
The latter is used for frozen news batches frequently. Rnews
recognises compressed and frozen news batches based on their mag
ic values; the final name of a compressed news batch gets a suf
fix of 1m.Z22m, a frozen one a 1m.F22m this is simply for the benefit of
scripts; 4mnewsrun24m/4munbatch24m do not rely on this feature.
Additionally, I change the final file name each time an attempt
to rename the temporary file to it's final name. As the file
name is taken from 1mtime();22m (if rnews is processing it's stdin and
not a file supplied as an argument; in this case, the creation
date of that file, gotten from the 1mstat()22m system call, is used),
this means you will run in trouble if your system is fast enough
to run about 100 rnews processes within one second (you'll get
Villa Straylight Mon, 11 Jan 1993 06:04:20 +0100 4
Install.Amiga() wCNews Install.Amiga()
the error message 1mtoo22m 1mmany22m 1mattempts22m 1mto22m 1mlink22m 1m`%s'22m and a file named
1mnspool.XXXXXX22m will be left in the in.coming directory). Well,
this works for me; in case of problems, drop me a note.
Finally, rnews is able to check the free space on
1muunews:in.coming/22m before trying to copy this may cut down ma
chine's load in case it matters (it's faster to check the free
space than to copy files and detect the shortage while doing
this). Unfortunately, when processing standard input, rnews
doesn't know the amoung of data to be processed ...
You can specify a minimum of bytes that must be available on the
filesystem containing the 1min.coming22m directory with
1mRNEWS.MinTmpSpace22m for input from stdin, rnews will refuse to
copy if there are less than 1mRNEWS.MinTmpSpace22m bytes free; for in
put from normal files, the comparation if done against the file
size (4mst.st_size24m).
To turn this feature off, either omit 1mRNEWS.MinTmpSpace22m from your
configuration or set it to 0.
If started with the 1mi22m flag, rnews does a 4msystem("run24m 4munbatch");24m
after processing all files, which should start a backgroung pro
cess executing unbatch. This implies that
· the 4munbatch24m executable is in the current AmigaDOS search
path,
· and 4munbatch24m prevents itself from running more that once.
To force the usage of 1mi22m, add a line "RNEWS rnews i" to
1muulib:Config.22m
4mUnbatch24m/4mnewsrun24m processes incoming news batches (filed in
1muunews:in.coming22m). 4mUnbatch24m is the same binary as newsrun, so you
may want to replace one of them with a hardlink to the remaining
in order to save disk space; the difference is that 4mnewsrun24m is
expected to run as a daemon while 4munbatch24m should be called manu
ally (e. g. periodically from crontab).
4mNewsrun24m is intended to be run in the background but hasn't
finished yet. 1mNOTE:22m 1mAS22m 1mOF22m 1mTHIS22m 1mWRITING,22m 1mDON'T22m 1mUSE22m 1mnewsrun22m 1mAS22m
1mA22m 1mDAEMON,22m 1mIT22m 1mCONSUMES22m 1mMEMORY22m 1mEACH22m 1mTIME22m 1mIT22m 1mSCANS22m 1mTHE22m 1mINCOMING22m
1mDIRECTORY22m 1mWHICH22m 1mIS22m 1mNOT22m 1mFREED22m 1mUNTIL22m 1mnewsrun22m 1mEXITS22m.
4mUnbatch24m (until further notice, the following also applies to the
binaries' 4mnewsrun24m operation) pipes the batch through 4mcompress24m or
4mfreeze24m for decompression if neccessary; finally, the data is
piped into 4mrelaynews24m. If any command returns nonzero, for exam
ple in case of 1mout22m 1mof22m 1mmemory22m for 4mcompress24m or an error detected by
4mrelaynews24m, the batch is moved into the 1mbad22m subdirectory for human
investigation. Currently, there is no way to limit the number of
bad batches in 1mbad22m nor any notification by mail to 1mNEWSMASTER22m nor
a check for enough free space on 1muunews:22m. This is planned for the
Villa Straylight Mon, 11 Jan 1993 06:04:20 +0100 5
Install.Amiga() wCNews Install.Amiga()
next release, i. e. for the rewrite of 4mnewsrun24m/4munbatch24m.
4mUnbatch24m checks the free space on 1min.coming22m's parent directory
(usually 1muunews:22m) before it attempts to actually process the
batch. (Assumes an uncompressed batch to grow by 50%, a com
pressed one to consume 2.5, and a frozen batch 3.0 times the
space it occupies now. This may be magnitudes to low (consider
an article consisting of 1 MB spaces), but I know of no fast way
to determine the actual size =:<)
This should work fine, but isn't secure ... First, the space an
article takes on disk is usually more than the plain byte size
(just consider the file system overhead/links, new 1mPath:22m and
1mXRef:22m headers, ...). Second, other tasks may write to the news
partition after the 4mspaceleft()24m call, reducing the available file
system space.
It is intended to cope better with low disk space situations
(doesn't make much sense to start relaynews knowing it will fail)
4munbatch24m won't move a batch in case it detects it wouldn't fit
on disk, thus allowing this batch to be processed automatically
as soon as disk usage permits (instead of moving the batch to
1min.coming/bad22m after 4mrelaynews24m complained). Not perfect, I admit
I'm open for suggestions ...
1mAuthor's22m 1maddress22m
Please send all queries, bug reports, etc. to
1mwusel@hactar.22m(1mUUCP22m|1mhanse.de22m) 1m(Kai22m 1m'wusel'22m 1mSiering)22m.
For bug reports, 1mplease22m use the supplied script 4mbugreport24m; for
enhancement requests, 1mplease22m use the supplied 4mfeaturerequest24m
script. For anything else, use plain email =:>
Villa Straylight Mon, 11 Jan 1993 06:04:20 +0100 6